package me.trytofeel.service.impl;

import lombok.Data;
import me.trytofeel.bean.Video;
import me.trytofeel.mapper.VideoMapper;
import me.trytofeel.service.VideoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Data
@Service // 组件衍生注解 便于区分
public class VideoServiceImpl implements VideoService {

    @Autowired
    private VideoMapper videoMapper; // 实际程序运行没问题
    // 因为 @Mapper 这个注解是 Mybatis 提供的，而 @Autowried 注解是 Spring 提供的，
    // IDEA能理解 Spring 的上下文，但是却和 Mybatis 关联不上。
    // 而且我们可以根据 @Autowried 源码看到，默认情况下，@Autowried 要求依赖对象必须存在，那么此时 IDEA 只能给个红色警告了

    @Override
    public List<Video> selectAllVideos() {
        return videoMapper.selectAllVideos();
    }

    @Override
    public Video selectVideoById(int id) {
        return videoMapper.selectVideoById(id);
    }

    @Override
    public boolean deleteVideoById(int id) {
        return videoMapper.deleteVideoById(id) > 0;
    }

    @Override
    public boolean insertOneVideo(Video video) {
        return videoMapper.insertOneVideo(video) > 0;
    }

    @Override
    public boolean updateOneVideo(Video video) {
        return videoMapper.updateOneVideo(video) > 0;
    }
}
